C Sharp (C♯, C#, dopuszcza się również wymowę "C płot") jest obiektowym językiem programowania zaprojektowanym przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft. Program napisany w tym języku kompilowany jest do języka Common Intermediate Language (CIL), specjalnego kodu pośredniego wykonywanego w środowisku uruchomieniowym .NET, Mono lub DotGNU.
Do uruchomienia programu napisanego w języku C# w systemie operacyjnym Microsoft Windows wymagane jest środowisko uruchomieniowe zwane .NET Framework dostępna za darmo na stronie Microsoftu.
Język C# ma wiele cech wspólnych z językami programowania C++ i Java.
Poprawny zapis C sharp
Z powodów technicznych poprawny zapis nazwy jest rzadko spotykany – nawet ze strony Microsoftu. Znak sharp ♯, czyli krzyżyk w notacji muzycznej, jest zastępowany znakiem kratki (hash, #). Spowodowane jest to brakiem znaku sharp w wielu podstawowych czcionkach i stronach kodowych oraz względna trudność przy wpisywaniu go z klawiatury.
Dlatego też specyfikacja ECMA dopuszcza zapis C# jako poprawny.
object
(System.Object
), która stanowi element nadrzędny tej hierarchii. W szczególności oznacza to, że również typy proste (int
, double
, itd.) są obiektami z właściwymi sobie metodami, np. int i=1; string s = i.ToString();
W C# stosuje się dwa rodzaje komentarzy:
Jeśli komentarz zaczyna się od /// lub /**, to jest to komentarz, w którym umieszcza się dokumentację do kodu w postaci kodu XML.
Prosty program napisany w języku C#. Po jego skompilowaniu i uruchomieniu zobaczymy napis „Hello world!”.
using System;
public class PrzykladowaKlasa
{
public static void Main()
{
Console.WriteLine("Hello world!");
}
}
Kolejny przykładowy program demonstruje technikę programowania interfejsu użytkownika. Po jego skompilowaniu i uruchomieniu system operacyjny utworzy okienko aplikacji.
using System;
using System.Windows.Forms;
public class PrzykladoweOkno : Form
{
public static void Main()
{
Application.Run( new PrzykladoweOkno() );
}
}
Przykładowe algorytmy sortowania zaimplementowane w C# znajdują się w tematach:
select
, from
, where
" pozwalające na dostęp do SQL, XML, kolekcji, i innych (Language integrated query (LINQ))Klient k = new Klient(); k.Imie="Jan";
staje się Klient k = new Klient { Imie="Jan" };
listOfFoo.Where(delegate(Foo x) { return x.size>10;})
staje się listOfFoo.Where(x => x.size>10);
var x = "hello";
oznacza to samo, co string x = "hello";
var x = new { Imie = "Jan" }
C# 3.0 przedstawiono na PDC 2005, wersja Preview jest dostępna na stronach MSDN.